import json
from openai import OpenAI

# 设置OpenAI API客户端
client = OpenAI(
    base_url="https://api.gptsapi.net/v1",
    api_key="sk-kghaf948e5e3bc901fdb866fa5f1ffe18d19d9961a8N5pAg"
)

# 从文件加载数据
with open('extracted_data.json', 'r', encoding='utf-8') as file:
    legal_cases = json.load(file)

# 定义调用GPT-4 API进行法律条款解析的函数
def parse_legal_clauses(case_text):
    try:
        # 使用COT技术引导模型逐步解析法律条款
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=[
                {"role": "system", "content": "你是一个法律文本分析助手，任务是解析法律条款并进行分类。"},
                {"role": "user", "content": f"请解析以下案件中的法律条款，列出主要的法律依据，并将每个条款归类到相应的法律类别中，同时结合每个条款的具体适用情形与案件信息进行关联。请按照以下格式进行回答：\n\n"
                                            "1. 法律依据：\n"
                                            "   - 条款名称：<条款名称>\n"
                                            "   - 归类：<法律类别>\n"
                                            "   - 适用情形：<适用情形的描述>\n"
                                            "2. 案件关联：\n"
                                            "   - 案件信息与相应法律条款关联：<案件信息>\n\n"
                                            f"以下是案件内容：\n\n{case_text}"},
                {"role": "assistant", "content": "首先，我们将逐一解析案件中提到的所有法律条款，然后将它们归类到相关的法律类别中。接下来，我们会详细解释每个条款的适用情形，并结合案件信息进行关联。"}
            ]
        )
        parsed_clauses = response.choices[0].message.content.strip()
        return parsed_clauses
    except Exception as e:
        print(f"Error parsing legal clauses: {e}")
        return None

# 对每个案件进行法律条款解析
parsed_cases = []
for case in legal_cases:
    parsed_clauses = parse_legal_clauses(case)
    parsed_cases.append({
        'parsed_clauses': parsed_clauses
    })

# 将解析结果保存到JSON文件
with open('parsed_legal_cases.json', 'w', encoding='utf-8') as file:
    json.dump(parsed_cases, file, ensure_ascii=False, indent=4)

print("法律条款解析结果已保存到 'parsed_legal_cases.json' 文件中。")
